package com.org.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.org.bean.PhoneBean;

/**
 * @author Administrator dao层的方法名和mapper映射文件中的sql语句的id是一一对应
 */
@Repository
public interface PhoneBeanMapper {
	
	/**
	 * phoneBack.jsp
	 * 批量删除商品
	 * @param ids 被操作的商品
	 * @return
	 */
	 int deleteMany(Integer[] ids);
	
	/**
	 * 查询全部未删除商品信息
	 * @return
	 */
	List<PhoneBean> selectAllInfos();
	
	/**
	 * 查询全部已经删除商品信息
	 * @return
	 */
	List<PhoneBean> selectAllInfos2();
	
	/**
	 * 根据参数条件进行信息查询
	 * 
	 * @param phoneB 参数实体
	 * @return 查询结果集
	 */
	public List<PhoneBean> selectInfosBySelective(PhoneBean phoneB);
	
	/**
	 * 通过主键删除信息
	 * 
	 * @param phoneid 主键id
	 * @return 操作结果
	 */
	int deleteByPrimaryKey(Integer phoneid);
	
	/**
	 * 通过主键进行逻辑还原信息
	 * 
	 * @param phoneid 主键id
	 * @return 操作结果
	 */
	int logicBackByPrimaryKey(Integer phoneid);

	/**
	 * 通过主键进行逻辑删除信息
	 * 
	 * @param phoneid 主键id
	 * @return 操作结果
	 */
	int logicDeleteByPrimaryKey(Integer phoneid);

	/**
	 * 删除所有已经被回收的商品【回收站商品清空】
	 * @return
	 */
	int deleteAllDeleted();
	
	/**
	 * 插入[全部字段进行插入]
	 * 
	 * @param phoneB
	 * @return
	 */
	int insert(PhoneBean phoneB);

	/**
	 * 插入[非空字段插入]
	 * 
	 * @param phoneB
	 * @return
	 */
	int insertSelective(PhoneBean phoneB);

	/**
	 * 主键查询
	 * 
	 * @param phoneid
	 * @return
	 */
	PhoneBean selectByPrimaryKey(Integer phoneid);

	/**
	 * 主键查询
	 * 
	 * @param phoneid
	 * @return
	 */
	List<PhoneBean> selectByPrimaryKeyList(Integer phoneid);


	/**
	 * 非空字段修改
	 * 
	 * @param phoneB
	 * @return
	 */
	int updateByPrimaryKeySelective(PhoneBean phoneB);

	/**
	 * 所有字段修改
	 * 
	 * @param phoneB
	 * @return
	 */
	int updateByPrimaryKey(PhoneBean phoneB);
  
}